<?php
if($_GET['redirect_to'] == "random") {
  header("Location: http://jebacpisfj5ogihkue6kgnsokqi7or27gkgrbyawv3zb5y7k55gjo7id.onion/?redirect_to=random");
}

//Secret sign
$sign = hash_hmac('sha256', $_SERVER['HTTP_HOST'], 'To ja Ekonomik jestem właścicielem domeny ');
header('X-Site-Sign: v1:'.$sign);

$login = htmlspecialchars(addslashes(substr(str_replace(' ', '',$_POST['login']),0,32)));
$pass = htmlspecialchars(addslashes(substr($_POST['pass'],0,32)));
$pass2 = htmlspecialchars(addslashes(substr($_POST['pass2'],0,32)));
$domain = htmlspecialchars(addslashes(substr($_POST['domain'],0,32)));
$short = explode('/',htmlspecialchars(addslashes($_GET['short'])))[0];
if(!empty($short)) {
  //Check if exists
  include("globals.php");
  global $mysqli;
  $q = "SELECT dest FROM `urls` WHERE BINARY `uri` = '$short' LIMIT 1";
  $res = $mysqli -> query($q);
  if(mysqli_num_rows($res) == 1) {
    //do redirection
    $uq = "UPDATE urls SET hits=hits+1 WHERE BINARY `uri` = '$short'";
    $mysqli -> query($uq);
    $s = mysqli_fetch_assoc($res);
    header("Location: $s[dest]");
  }
}


$ALLOWED_DOMAINS = array('pis.wtf','p0l.xyz');
function printsignupform($error = false, $login = NULL, $pass = NULL, $domain = NULL) {
  print('      <article class="blog-post">
  <h4 class="text-danger">'.$error.'</h4>
        <form method="post" action="/">
          <div class="row">
            <div class="col-md-8">
              <label class="sr-only" for="login">Login</label>
              <input type="text" class="form-control" id="login" name="login" placeholder="Select username" value="'.$login.'" maxlength="32">
            </div>
            <div class="col-md-4">
              <label class="sr-only" for="domain">Domain</label>
              <div class="input-group">
                <div class="input-group-prepend">
                  <div class="input-group-text">@</div>
                </div>
                <select class="form-control" id="domain" name="domain">
                  <option value="pis.wtf">pis.wtf</option>
                  <option value="p0l.xyz">p0l.xyz</option>
                </select>
            </div>
          </div>
          </div>
          <div class="row">
            <div class="col-md-12">
          <div class="form-group">
            <label for="pass">Password</label>
            <input type="password" class="form-control" id="pass" placeholder="Password" name="pass" value="'.$pass.'" maxlength="32">
          </div>
          <div class="form-group">
            <label for="pass2">Confirm password</label>
            <input type="password" class="form-control" id="pass2" name="pass2" placeholder="Password again" value="'.$pass.'" maxlength="32">
          </div>
            </div>
          </div>
          <div class="row">
            <div class="col-md-8 mt-3">
            <div class="cf-turnstile" data-sitekey="0x4AAAAAAAXfJLa8Mj6lLrEz"></div>
          <button type="submit" class="btn btn-primary">Register</button>
            </div>
          </div>
        </form>');
}

print('<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Free webmail, 10 minute mail, short address, no ads, Onion domain access, DNMX alternative, SMTP access, free signup, 10 minute, URL shortning, bot protection">
    <meta name="keywords" content="free webmail, 10 minute mail, short address, no ads, onion domain access, DNMX alternative, SMTP access, free signup, temporary email, disposable email, URL shortening, bot protection, anti-spam, privacy email, anonymous email
">
    <meta name="author" content="Ekonomik">
    <title>freemail & URL Shortner</title>
    <link href="/css/bootstrap.min.css" rel="stylesheet">
    <link rel="icon" href="/favicon.ico">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <script src="http://admate3tczgp6digew7jpzcosq52rs7anru53imwqimron27emq7dbqd.onion/js/get-banners.js"></script>
<style>
      .bd-placeholder-img {
        font-size: 1.125rem;
        text-anchor: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
      }

      @media (min-width: 768px) {
        .bd-placeholder-img-lg {
          font-size: 3.5rem;
        }
      }
    </style>
    <!-- Custom styles for this template -->
    <link href="/css/fyrtle.css" rel="stylesheet">
    <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" defer></script>
  </head>
  <body>

  <main class="container">
  <div class="p-4 p-md-5 mb-4 text-white rounded bg-dark">
    <div class="col-md-6 px-0">
      <a href="/"><h1 class="display-4 fst-italic">freemail</h1></a>
      <p class="lead my-3">Forever or just for 10 minutes</p>
      <p class="lead mb-0"><a href="/freemail" target="_blank" class="btn btn-primary">Login</a>&nbsp;<a href="/10minute" target="_blank" class="btn btn-primary">10 minute access</a></p>
    </div>
  </div>

  <div class="row g-5">
    <div class="col-md-8">
      <h1 class="pb-4 mb-4 fst-italic border-bottom">
        Sign up
      </h1>');
if(!empty($login) && !empty($pass) && !empty($pass2)) {
  if(preg_match('/^[a-zA-Z0-9_-]+$/',$login)) {
  if($pass == $pass2) {
    if(strlen($pass) > 7) {
      global $ALLOWED_DOMAINS;
      if(in_array($domain, $ALLOWED_DOMAINS)) {
        $secret = '0x4AAAAAAAXfJDWRFZxqANNXxHuVVFMEqs4'; 
        $remote_addr = $_SERVER['REMOTE_ADDR'];
        $cf_url = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';
        $token = $_POST['cf-turnstile-response'];
        $data = array(
            "secret" => $secret,
            "response" => $token,
            "remoteip" => $remote_addr
        );
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $cf_url);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($curl);
        if (curl_errno($curl)) {
            $error = curl_error($curl);
            printsignupform($error,$login,$pass,$domain);
        } else {
            /* Parse Cloudflare's response and check if there are any validation errors */
            $response = json_decode($response,true);
            if ($response['error-codes'] && count($response['error-codes']) > 0){
                foreach($response['error-codes'] as $e){
                    $error .= $e;
                }
                printsignupform("Human verification error (".$error."). Please fill the form again.",$login,$pass,$domain);
              } else {
                //Check if user exists
                $sq = "SELECT COUNT(*) as count FROM `virtual_users` WHERE `domain_id` = 1 AND `email` = '$login@pis.wtf' ";
                $mysqli = new mysqli("localhost", "postfix","vdtSrTcbgv9MJgEY","postfix");
                if (!$mysqli -> connect_errno) {
                $user_res = mysqli_fetch_assoc($mysqli -> query($sq));
                  if($user_res['count'] == 0 ) {
                    //$password = shell_exec('/usr/bin/doveadm   -p '. $pass);
                    $password = crypt($pass,'$6$Wh4t3v3rS4ltH3re');
                    if($domain == 'pis.wtf') {
                      $did = 1;
                    } else {
                      $did =2;
                    }
                    $iq = "INSERT INTO `virtual_users` ( `domain_id`, `password`, `clean`, `email`) VALUES ($did, '{SHA512-CRYPT}$password', '$pass', '$login@$domain');";
                    if($mysqli -> query($iq)) {
                      print('<div class="alert alert-success" role="alert">E-mail account <b>'.$login.'@pis.wtf</b> successfully created!
                      <ul><li>Webmail access granted. You can <a href="/freemail">Login here</a></li>
                    <li>Onion access granted. Use <a href="http://freemaild77oyjrldgjyqrdyfhald5jshrfopfl54naflibq7yupalqd.onion/">this domain</a></li>
                  <li>SMTP access granted. Read the <a href="#">instructions</a></li>
                </ul>
                You can also consider <a href="bitcoin:bc1qd3eqjml4xxxfe7sd9cqq6wr5w33w750fnak6uf">donating</a> my activity.
              </div>');
                  //Welcome e-mail with PGP cert fingerprint
                  //Admin notification
                  mail('lech@pis.wtf','New freemail signup','User: '.$login.'@'.$domain);
                    } else {
                      printsignupform("User adding error",$login,$pass,$domain);
                    }
                  } else {
                    printsignupform("User ".$login."@pis.wtf already exists!" ,$login,$pass,$domain);
                  }
                } else {
                  printsignupform("User checking error",$login,$pass,$domain);
                }
            }
        }
        // Close cURL
        curl_close($curl);
      } else {
        printsignupform("Domain not found",$login,$pass,$domain);
      }
    } else {
      printsignupform("Minimum password length is 8 characters",$login,$pass,$domain);
    }
  } else {
    printsignupform("Password don't match",$login,$pass,$domain);
  }
} else {
  printsignupform("Invalid username");
}
} else {
  printsignupform();
}
print('      </article>

      <article class="blog-post">
      <h1 class="pb-4 mb-4 fst-italic border-bottom">10minute mail</h1>
        <!-- p class="blog-post-meta">December 23, 2020 by <a href="#">Ekonomik</a></p-->
        <p>Need to sign up for something quickly without giving away your real email? Try using 10 minute mail! It generates a temporary email address that lasts for just 10 minutes, perfect for those one-time registrations or verifications. Keep your inbox clean and your privacy intact!</p>
        <p><a href="/10minute" target="_blank" class="btn btn-primary">Try it</a></p>
        <p>"10 minute mail" is an online service that generates a temporary email address that is valid for about 10 minutes. It\'s a handy tool for one-time use when registering on websites or services where you don\'t want to provide your real email address. Here\'s how it works: a temporary email address is generated, which you can use to confirm registration or receive messages. After approximately 10 minutes, the address is automatically deleted, ensuring anonymity and privacy protection.</p>
        
      </article>
      <script>
      function catchformsubmit(e) {
        var key=e.keyCode || e.which;
        if (key==13){
              document.getElementById(\'shortbutton\').click();
        }
      }
    $(document).ready(function(){
    $(\'#shortbutton\').click(function(){
        document.getElementById(\'resultdiv\').style.display = \'block\';
        $(\'#result\').text(\'Shorting in progress\');
        $(\'#resultdiv\').removeClass();
        $(\'#resultdiv\').addClass(\'alert alert-dismissible alert-primary\');
        var dest = $(\'#dest\').val();
        $.ajax({
            url: \'/short.php\',
            type: \'GET\',
            data: {s: dest},
            dataType: \'json\',
            success: function(data){
                $(\'#result\').text(data.msg);
                switch(data.status) {
                    case 200:
                        $(\'#resultdiv\').removeClass();
                        $(\'#resultdiv\').addClass(\'alert alert-dismissible alert-success\');
                        break;
                    default:
                        $(\'#resultdiv\').removeClass();
                        $(\'#resultdiv\').addClass(\'alert alert-dismissible alert-warning\');
                        break;
                }
            },
            error: function(xhr, status, error){
                console.error(status, error);
            }
        });
    });
});
</script>
      <article class="blog-post">
      <h1 class="pb-4 mb-4 fst-italic border-bottom">URL Shortner</h1>
        <!-- p class="blog-post-meta">December 23, 2020 by <a href="#">Ekonomik</a></p-->
        <input id="dest" class="form-control me-sm-2" placeholder="Give URL to short" maxlength="255" onkeypress="catchformsubmit(event);">
        <button id="shortbutton" type="button" class="btn btn-primary mt-3 mb-3">Shorten it</button>
        <div id="resultdiv" class="row" style="display: none;">
          <div id="result">Shorting in progress</div>
        </div>
      <p>Try also <a href="http://not4bot2evrifmosm2w3u3nz7fnei5mkq5hujcatqjqerptlarhp5zqd.onion/" target="_blank">Not 4 Bot</a>.
      </article>
    </div>

    <div class="col-md-4">
      <div class="position-sticky" style="top: 2rem;">
        <div class="p-4 mb-3 bg-light rounded">
          <h4 class="fst-italic">About</h4>
          <p class="mb-0">Free, easy to use and remember e-mail address. <a href="http://freemaild77oyjrldgjyqrdyfhald5jshrfopfl54naflibq7yupalqd.onion/">Onion access</a> for higher privacy.</p>
        </div>

        <div class="p-4">
          <h4 class="fst-italic">Announcements</h4>
          <ol class="list-unstyled mb-0">
          <li><a href="#">SMTP enabled</a></li>
            <li><a href="#">Free Signups</a></li>
          </ol>
        </div>
        <div class="p-4">
          <a href="'.(substr($_SERVER['HTTP_HOST'],-6)==='.onion' ? 'http://jebacpisfj5ogihkue6kgnsokqi7or27gkgrbyawv3zb5y7k55gjo7id.onion' : 'https://jebac.pis.wtf').'/" target="_blank"><img src="/swiniokaczka_transparent.png" alt="***** *** – Jebać PiS – Memy o naszym (nie)rządzie" /></a>
        </div>
        <div class="p-4">
          <a href="'.(substr($_SERVER['HTTP_HOST'],-6)==='.onion' ? 'http://cccpastefzuz6unowzgjtdwmxwjfgf5za7owwci3b2zys4jmc3xjszad.onion' : 'https://www.cccpaste.com').'/" target="_blank"><img src="/cccp_logo.png" alt="CCCPaste -Minimalist pastebin inspired by Soviet aesthetics. Share text quickly and anonymously." /></a>
        </div>
      </div>
    </div>
  </div>

</main>

<footer class="blog-footer">
  <p>Register page <a href="https://getbootstrap.com/">Bootstrap</a> by <a target="_blank" href="http://ekonom7nic24j65f4iaakpsgfvyqqktia5h2wengx5yulswnqnmoc5id.onion/">Ekonomik</a>.</p>
  <p>
    <a href="#">Back to top</a>
  </p>
</footer>
<script>getBanners("http://admate3tczgp6digew7jpzcosq52rs7anru53imwqimron27emq7dbqd.onion/api/get-banner/QmbwG8knVElcmz7K/type/468-60/count/7");</script>

  </body>
</html>');
?>